Search Results: "Daniel Silverstone"

3 August 2011

Lars Wirzenius: Obnam 0.19 (backup software)

From the depths of the Andromeda galaxy I bring you version 0.19 of the backup program called Obnam, just released and travelling to the Terran Internet faster than light! This is a BETA release. Some day soon it may well end up being in Debian, unless you prevent that by reporting bugs faster than I can fix them. Meanwhile, my code.liw.fi has .debs for amd64, i386, and armel. Or you can install it from source, presumably (I never do). The NEWS items as listed below. INCOMPATIBILITY CHANGES: BUG FIXES: USER VISIBLE CHANGES: INTERNAL STUFF:

29 November 2010

Vincent Sanders: Mobile Telecommunication Luddite

Actually I can not really be called a Luddite because I am not really against telecommunication progress nor do I fear it will negatively effect my employment...but the title sounded good? ;-)
Anyhow, I have a strange relationship with mobile phones. My ability to have a functioning device has historically limited their usefulness to me.

Because of my low usage and odd attitude for a techie I have always used PAYG for my personal phone. Work may have provided me with a device with a contract for being on-call etc. but in general its been PAYG all the way. My first phone was a Nokia 1610 back in the late nineties, second user after my employer at the time contract upgraded and had a load of "leftovers". I paid 50quid for it and bought a ten quid SIM and ten pounds credit.

My phones
The standing joke among my friends for the next decade has been that whatever provider I moved to they would go out of business within the year. I went through about eight providers in ten years. And for the first six the same tenner credit went with me! Each time the PAYG provider folded etc. I would be moved on to someone new with a tenners credit and a new SIM and number.

After Easy Mobile closed they did not have an option of a new provider with credit and the "recommended" provider was very poor, so this time I shopped around and went with Tesco mobile but remembered to take my number, which did at least stop my colleagues making fun of me for another move.

During this period my phones were no better than my providers. I bought a Nokia 1100 and used other peoples leftovers. Culminating in Daniel Silverstone taking pity on me and giving me his Sony Ericsson K800 at the end of his contract, despite acquiring an ADP1 and a G1 (both have which have dropped dead) this is the phone I have been using for three years now.

Due to my dreadful relationship I did not get the most from the technology and felt like I was missing out. Over the last few years to try and address this I have set myself a target of having a phone physically with me, turned on and in credit at all times. This I have finally managed for a whole six month stretch and as a reward I have bought myself a nice Android based smartphone on contract with T-Mobile.

I have done all the administrative things to port the number so no-one will need to alter their address books :-)

After only a few days of usage I have already discovered why the combination of smart phone and decent contract are so appealing. The freedom to just call and text and use the internet wherever you are without stopping to worry if you have enough credit is a wonderful thing. And decent hardware with the guarantee that if it breaks all I have to do is go into the store and they give me a new one.

I went for the HTC Wildfire instead of the Desire on cost grounds (100 pounds up front instead of 290) which seems perfectly reasonable hardware performance wise. My one and only niggle is T-mobile have nobbled the media player so it only plays some mp3s and not oggs or flacs. No real challenge, just a bit disappointing that vendurs seem to think they need to fiddle.


30 June 2010

Vincent Sanders: Programmers are suckers for a meme

Many Open Source projects have and IRC # for developers. The NetSurf project is no different. During a discussion someone jokingly suggested that one contributor should be asked to take the FizzBuzz test. Can you guess what happened next?

Ten minutes later Michael Drake posted this solid example in C which is where it all ought to have ended.

<iframe src="http://pastebin.com/embed_iframe.php?i=MesmvSjk" style="border:none;width:100%;height:200px;"></iframe>

Being programmers, of course this had a predictable result. The original question, the reason for asking it and any the serious point being made in the original article were discarded. Just so everyone (including myself) could play silly buggers over our lunch break. Coders, it would seem, simply like to produce a solution even if it is only for fun.

None of these programs took more than ten minutes (except the JAVA monstrosity), are reproduced with permission and I am to blame for none of them (ok maybe just the one ;-).

First up was Rob Kendrick with the classic solution in C (his day job is as a support team lead which seems to make those programmers who cannot do this seem even more scary bad.)

<iframe src="http://pastebin.com/embed_iframe.php?i=EaQ2414U" style="border:none;width:100%;height:200px;"></iframe>

Next was Daniel Silverstone who turned this Lua solution out very quickly and berated the rest of us for not following the rules ;-)

<iframe src="http://pastebin.com/embed_iframe.php?i=cYY0YDYM" style="border:none;width:100%;height:220px;"></iframe>

The final C solution was my own uber silly sieve implementation

<iframe src="http://pastebin.com/embed_iframe.php?i=5w5BhKt3" style="border:none;width:100%;height:200px;"></iframe>

Peter Howkins decided the world required a solution in PHP

<iframe src="http://pastebin.com/embed_iframe.php?i=h2aQ5eXM" style="border:none;width:100%;height:200px;"></iframe>

When pointed out that his solution stopped at 50 he presented this vastly superior and obviously idiomatic solution

<iframe src="http://pastebin.com/embed_iframe.php?i=k8T6VtJu" style="border:none;width:100%;height:200px;"></iframe>

Finally after a long time James Shaw caused mental anguish and wailing with this abomination unto Nuggin.

<iframe src="http://pastebin.com/embed_iframe.php?i=GFeHdJdr" style="border:none;width:100%;height:200px;"></iframe>

With Luck everyone has now got it out of their system and we will never have to put up with this again (yeah right). And now you also know why Open Source projects sometimes take ages to release ;-)

27 May 2010

Vincent Sanders: Ex Phone

I went to the Linux Plumbers Conference (LPC) last year (which was very interesting and productive). While I was there Qualcomm were in attendance giving out penguin mints and running a competition. The lucky winners of this draw were to receive an ADP1 Android phone. So I dutifully filled in the entry form, handed it in and thought no more about it.

In the break after attending a particularly interesting workshop on the last day of the conference several other people congratulated me on winning the Qualcomm draw, this was the first I knew about it! I went in search of the nice people from Qualcomm and sure enough they handed over an ADP1 after getting a couple of photos.

Once I returned home I switched to using ADP1 as my phone and started experimenting with Android kernel stuff. Then one day the Wi-Fi stopped working which while odd could be overcome by repeatedly unloading and reloading the driver until it worked once more. Then one day the USB stopped working, no more ADB, no more console, no more debugging, no more hacking.

Then one day it turned itself off and never came back. I have been forced to return to using a hand me down, very kindly given to me by Daniel Silverstone. Alas it is not a smart phone of any kind and my finances do not allow for me to spend the money to replace it.

I have repeatedly tried to contact Qualcomm open source to see if there is any kind of warranty I might be able to use to get the phone repaired alas all the contact addresses I have are now simply returning SMTP errors.

So this is pretty much a tale without a happy ending, unless anyone out there knows the right people to contact? Perhaps someone at Google maybe? I only revisit the subject at all because of the recent announcement of an Android 2.1 based edition for these devices which reminded me I like to play with these things.

6 December 2009

Martin Meredith: SSH Host Completion zsh Stylee

Ok, so recently, Richard Johnson and Michael Lustfield blogged about tab completion for SSH hosts. I m an avid user of zsh, and have my own way of doing this (liberally stolen from Daniel Silverstone). Now, this requires a little setup to start with, as some Linux Distributions have a habit of creating hashed known_hosts files. So, what I ve done, is before I ever SSH into a host, I add the following line to my ~/.ssh/config
HashKnownHosts no
From here, I can then add the following line to my ~/.zshrc
zstyle -e ':completion::*:*:*:hosts' hosts 'reply=($ =$ $ (f)"$(cat /etc/ssh_,~/.ssh/known_ hosts( 2)(N) /dev/null)" %%[# ]* //,/ )'
Now, when I try and ssh into a host, I can use tab completion to complete any host I ve previously ssh d into and any new hosts I ssh into get automatically added to the list

15 December 2008

MJ Ray: British Residential ISP Censorship News

Last week I reported that 95% of British Residential ISPs Censor - but I think I m OK, so I d like to quickly update on what I ve seen happen since then:-

17 June 2008

Daniel Silverstone: Scary licence questions follow

I have, at several points over the past few years, been interested in finding out quite how the GPL applies when one has runtime dynamic linking in the mix. As such, I would like to set a little scenario up and then solicit responses from you as to how things might go. I have yet to receive any useful answers which consider all the aspects. Several people have basically said oooh, hard.. erm therefore you can t do it , and the FSF have told someone I know who asked essentially this question, erm consult your lawyer ; and it took them four months to say that. So, with all that in mind, here we go Setting the scene
  1. There exists a company SuperMegaCorp...
  2. ...who have a software product called FantasticUsefulApp...
  3. ...which is released to the public in a proprietary/pay-for kind of way...
  4. ...but has a BSD licenced set of header files for third parties to write plugins distributed with it.
  5. There exists a useful GPLv2+ed library HandyStuffs...
  6. ...which is authored by a freedom loving software engineer called Fred.
  7. A pragmatic, yet freedom loving software engineer called Pete...
  8. ...who does not know Fred...
  9. ...writes a plugin for FantasticUsefulApp which we shall call IncrediblyCoolPlugin...
  10. ...which incorporates parts of the HandyStuffs codebase...
  11. ...and is GPLv2+ed by Pete...
  12. ...who then releases it to the wider world on his website.
Next, the following happens
  1. Seeing that Pete has written IncrediblyCoolPlugin for their FantasticUsefulApp...
  2. ...a user of the app called Uhura downloads it in binary form and drops it straight into the plugin folder.
  3. Uhura then starts FantasticUsefulApp which proceeds to dynamically link itself to IncrediblyCoolPlugin for the duration of Uhura's use of the app.
So here is question one Is anyone violating any of the GPLv2 s terms (or the GPLv3 s terms) by doing this at any point? If so, who is violating which terms, and how can that be fixed without losing functionality? Extending the scenario
  1. Uhura loves FantasticUsefulApp a lot. She also really loves IncrediblyCoolPlugin and wishes that each time she made a new installation of the app it would come with the plugin.
  2. Uhura writes to SuperMegaCorp and asks them to include IncrediblyCoolPlugin with FantasticUsefulApp.
  3. Liking the idea, and mindful to place the source code to IncrediblyCoolPlugin on their distribution media, SuperMegaCorp proceed to distribute the plugin along with their app in one easy to install bundle.
Here is question two Is anyone violating any of the GPLv2 s terms (or the GPLv3 s terms) by doing the above? If so, who is violating which terms, and how can that be fixed without losing functionality? (For this question, consider the bundling of the plugin and the app together as functionality it is preferable to retain.) An alternative way to extend the scenario
  1. Concerned about the possibilities of upsetting freedom lovers, SuperMegaCorp decline to distribute IncrediblyCoolPlugin with their app...
  2. ...however instead they distribute a plugin which connects to Pete's website and downloads IncrediblyCoolPlugin the first time FantasticUsefulApp loads, installing it for the user automatically.
And question three Is anyone violating any of the GPLv2 s terms (or the GPLv3 s terms) by doing the above? If so, who is violating which terms, and how can that be fixed without losing functionality? If anyone has any useful ideas on this, please either email them to me, or blog about it and email me a link. I intend to post a precis of the answers in a future entry.

11 December 2006

Erich Schubert: Patents get granted without being read.

Check out this patent, and read claim #9. So much for patents being seriously checked before being granted. I wonder if I could get a patent on filing patents that get granted without ever being read, because they're so full of legalese and templates you'll go crazy if you actually try reading it. (via: Daniel Silverstone)

18 July 2006

Erich Schubert: Use CSS folds

/me too hates folded blogs. It's like "I'd like to know that I've blogged, but I don't want you to actually read it"... *rant* Now for some constructive things: Add "max-height: 30em; overflow: auto" to the CSS file, and overly long entries (such as Enricos recent posts) will not take over planet as much. (Pick an appropriate 30em). Untested for vertical limits; I've however been using this for clipping overly wide <pre/> sections before. With next to no drawbacks to the readers that is. Folds suck. But if you are actually using a web browser to read planet, you'll be able to use the scroll bars I guess. Otherwise contribute a Javascript to un-limit the blog postings size. Should be a one-liner. [Updated: overflow auto is better, since otherwise you'd always have scroll bars. Also increased to 30em. Thanks Daniel Silverstone for testing. See his blog entry on how to do this client-side with mozilla based browsers]

27 February 2006

Martin F. Krafft: FOSDEM 2006

FOSDEM 2006 is over, I am now sitting at one of the weirdest airports I have seen so far: passages are intertwined and long, and it seems like you have to walk several hundred kilometres in circles before you finally end up at the place you ned to go to. I gave a talk Saturday on my Ph.D. research. Having spent almost an entire week preparing it, which involved rethinking my topic, the approach, and fighting doubts several times, I was all too pleased that a new aspect of my research was dawning upon me just in time to change a lot of the slides around a bit on the plane from Zurich. Even though my goal is to work a lot on Debian, I think the question on which I really want to concentrate is along the lines of "how to get volunteers to adopt new models and methods." Debian seems like a perfect environment in which to search for an answer, but I assume I shall also be looking around the Zope and Plone communities. Unfortunately, my talk didn't go as well as I had hoped. Part of it was on the Debian security situation, and having talked to a couple of people up front, and receiving even more feedback to my online personna, which apparently sometimes misrepresents my intentions, I took specific care to do with the delicate topic of Debian security with utmost care (and I think I succeeded; oh, and as a German I have a right to run-on sentences...). As a result though, I lost about 10 minutes of time, and additionally, I got confused about the length of my talk slot somewhere in the middle of the talk. So after giving an overview of my research idea, model, and approach, and the security situation, and just before coming to the exciting meat on possible extensions to Debian package management and the upload process which are geared to making it easier for others to contribute, h01ger kindly pointed out I had 10 minutes (not 25) left, a bunch of people walked into the room, generating noise and switching lights on and off, and on top of it all, OpenOffice crashed with the remainder of my slides -- those that contained graphs and other means to convey the complex ideas I was about to introduce. So everything seemed to be going wrong. I tried to give brief overviews of the ideas from the top of my head, but I didn't manage to piece together all the details that made the ideas interesting in a Debian context, and how the approach differs from Ubuntu's Launchpad and their new tool hct. So at the end of the talk I felt like I hadn't persuaded anyone of anything. Oh well. I was down for a while afterwards, it's been a long time since I felt a talk of mine failing as I did this time, and it wasn't until Hanna and some others consoled me by mentioning that they appreciated the contents I did convey (especially the security stuff), and quite a bunch of people found me afterwards with questions, suggestions, and comments. My slides are available online (~ 4.3 Mib) and I am looking forward to your feedback. I apologise for the size of the PDF and herewith promise never to use OpenOffice.org again. A bzip2-compressed version is available here (~ 1.4 Mib). Saturday night then ended with dinner and a bit of beer drinking, but noone was really up for anything more after the excessive opening party the night before. Sleep. Sunday morning, my laptop was still frozen by OpenOffice, and I rebooted it to find myself dumped into busybox as /dev/hda5 (my root) didn't exist. I quickly found the problem to be a missing udevd and udevsynthesize in the initramfs, but I did not manage to bring the system back up until Tollef gave me a hand to get pivot_root to do what it was supposed to do. Here's approximately how:
busybox mknod /dev/hda5 b 3 5
mount /dev/hda5 /root
mount -o move /sys /root/sys
mount -o move /proc /root/proc
chroot /root /sbin/udevd --daemon
chroot /root /sbin/udevsynthesize
exec run-init /root /sbin/init 2 < /root/dev/console > /root/dev/console
While we were at it, Daniel Silverstone showed us a wonderful way to help debug problems of this sort: /usr/bin/open. If bash only has /dev/console, it won't enable job control. This is exactly where open comes in:
/root/usr/bin/open /root/bin/sh
This will put an interactive shell on the next free tty with job control and all. Thanks, Daniel! I think that the above approach actually failed in the end for some weird reason we did not investigate further, so Tollef resorted to fixing the initrd instead:
update-initramfs -c -t -k 2.6.15-1-686
The important part is -t, which essentially redoes the filesystem so that custom changes are undone. I hadn't made any custom changes, but from the point of view of initramfs, I had deleted the udev binaries. Within an hour I had a working system again, and a
dpkg-reconfigure linux-image-2.6.15-1-686
zcat /boot/initrd.img-2.6.15-1-686   cpio -t   grep udev
verified that the problem was only intermittent (I rarely reboot my laptop but update it often). The T-Shirts Uncle Steve and I were selling pretty much all found new owners. This is great because I had been sitting on about a dozen shirts in XS and XXXL, and I thought I'd never get rid of them. Unfortunately, I sold them at no-profit, but given it was the last batch from Kernel Concepts, I am now thinking of arranging something with Steve to get a bunch of his shirts (which are nicer anyway). With talks coming to an end that day, everyone's departure was a stressful time and I was all the more glad to have had another night to spend in the city. I linked up with Jordi and some of the Debian Catalan people who were staying with a friend, Raoul, in the city. Raoul took us around a bit, showed us some of the historic sites in the centre of the city, and finally lead us to the bar of 2000 beers, where supposedly "the best beer of the world" was served: Trappist Westvletern Bleu 8. We ended the night around midnight for our flights were in the early morning. This having been my first FOSDEM, it was a great experience and I shall definitely try to be in Brussels again next year. Thanks to Wouter and all others who have helped out. Update: My slide links were previously not working. Thanks to all who pointed that out to me. They are fixed now. See above.

7 November 2005

Wouter Verhelst: Ternary operators

Daniel Silverstone asks about ternary operators, and whether people like to use them. Well, I know I do. In fact, it's the single operator I like to use a lot. Too much, in fact -- sometimes I abuse it in horrible ways, such as nesting the thing three times, or so. Which is stuff that gets removed after a first reading, of course. Most of the Microsoft languages have IIF, a function that does basically the same thing (as in "iif(condition, trueval, falseval)"). I find that a bit more intuitive than the ?: construct, but the difference isn't that important since it's semantically the same thing (and, more importantly, the ?: operator requires less characters, so is nicer). I'm not sure about most other languages. I have learned a lot of programming languages at school, but it's been way too long, and I don't use most of them anymore. I'm quite positive that COBOL does not support it, so you need to type it out in a full 'if' structure. But that's okay, because writing COBOL feels like writing a novel anyway.

Next.

Previous.